首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏EDI技术知识

    Von Maur, Inc EDI 需求分析

    Von Maur, Inc 是一家历史悠久的卖场,成立于19世纪,总部位于美国。作为一家知名的零售商,Von Maur 主要经营高端时装、家居用品和美妆产品。 Von Maur EDI 需求分析EDI 是一种无纸化的电子数据传输方式,零售商和供应商使用 EDI 进行数据传输,能够提高传输效率以及准确性,通过减少多余的数据传输来降低成本。 与 Von Maur 之间的合作,供应商需要具备 EDI 能力。可以联系 Von MaurEDI 团队,从而开始设置和测试流程。 Von Maur 将会给供应商提供 EDI 规范以及连接信息等资料,同时也将提供测试以及实施计划表。EDI 负责人会根据与供应商之间的 EDI 测试情况来决定是否可以正式使用 EDI 传输业务数据。 扩展阅读: 下载 Von Maur 提供的 EDI 相关资料与 Von Maur 之间进行 EDI 测试的注意事项Von Maur 要求所有交易伙伴必须能够接收 850 采购订单或发送 855(供应商生成

    54110编辑于 2023-08-08
  • 来自专栏赤道企鹅的博客

    [pwnable.tw] MnO2 指定字符组合shellcode构造

    inc ebx N 0: 4e dec esi O 0: 4f dec edi edi 1: 61 popa Ge 0: 47 inc edi 1: 65 : 47 inc edi 1: 64 fs Tb 0: 54 inc ebx 1: 6d ins DWORD PTR es:[edi],dx Bk 0: 42 DWORD PTR [ecx],edi shellcode += b"Ag"*1 #inc ecx;addr16; shellcode += b"F"*0x46 #inc esi; shellcode

    34810编辑于 2022-08-01
  • 5.3 汇编语言:字符串操作指令

    .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib

    70540编辑于 2023-10-11
  • 来自专栏全栈程序员必看

    移位指令实现乘法

    include irvine32.inc; .data i dword 0; sum qword 0; str1 byte “请输入16进制的(32位整数)乘数和被乘数”,0 str2 byte “乘积为 ,0;edi为(高32位)乘积值; mov cl,0;cl为移位的位数 call readhex; cmp eax,80000000h; jna L4; neg eax; inc j; L4: mov ebx,eax; ebx存储乘数(来移位的) ;call writeint; call readhex; cmp eax,80000000h ; jna L5; neg eax; inc j; L5: mov i,eax; ;call writeint; mov eax,0; cmp ebx, 0; ,1; L3: add edi,esi; next: inc cl; jmp L2; quit: call crlf; mov edx,offset

    51010编辑于 2022-09-05
  • C/C++ 编写并提取通用 ShellCode

    .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc include msvcrt.inc 则说明计算完毕跳转到nops ror edx,7 ; 不为零,则进行循环右移7位 add edx,eax ; 将循环右移的值不断累加 inc ,edi ; 用edi寄存器作为索引 ; ------- 循环读取导出表函数 next_loop: inc edi ,edi // 清空edi中的内容,用作索引 // ===循环读取导出表函数 next_function_loop: inc edi

    82720编辑于 2022-12-28
  • 来自专栏Linux内核及编程语言底层相关技术研究

    c语言内嵌汇编代码之InputOperands使用时的注意事项

    , char *argv[]) { printf("inc1: %d\n", inc1(1)); printf("inc2: %d\n", inc2(1)); } 该例子中的inc方法都是将src /a.out inc1: 1 inc2: 2 由上可以看到,inc1的结果是1,这是因为编译器认为src只是asm语句的输入,所以它不会被修改,所以在return的时候直接返回了原值。 看下其对应的汇编代码: $ gcc -O3 main.c && objdump --disassemble=inc1 a.out 0000000000001180 <inc1>: 1180: 89 f8 mov %edi,%eax 1182: 83 c7 01 add $0x1,%edi 1185: f8 mov %edi,%eax 1192: 83 c0 01 add $0x1,%eax 1195: c3

    85620发布于 2019-10-14
  • 5.5 汇编语言:函数调用约定

    .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib .386p .model flat,stdcall option casemap:none include windows.inc include kernel32.inc includelib

    66920编辑于 2023-10-11
  • Win32汇编:字符串浮点数运算过程

    字符串操作指令 移动串指令: MOVSB、MOVSW、MOVSD ;从 ESI -> EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 比较串指令: CMPSB、CMPSW、CMPSD ; 比较 ESI、EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 扫描串指令: SCASB、SCASW、SCASD ;依据 AL/AX/EAX 中的数据扫描 EDI 指向的数据, 执行后 EDI 自动变化 储存串指令: STOSB、STOSW、STOSD ;将 AL/AX/EAX 中的数据储存到 EDI 给出的地址, 执行后 EDI 自动变化 载入串指令: LODSB、LODSW、LODSD EDI指向的内存空间中,该指令常用于对特定字符串的复制操作. .386p .model flat,stdcall option casemap:none include windows.inc cmp byte ptr [edi],0 ; 分别那[edi]的值和0作比较 je L2 ; 上一步为零则跳转得到ret inc edi

    69720编辑于 2022-12-28
  • 来自专栏giantbranch's blog

    一些加花软件的花指令收集

    004124B9 95 xchg eax,ebp 004124BA 4D dec ebp 004124BB 42 inc edx ; ntdll.KiFastSystemCallRet 004124BC 40 inc eax pushad 0040F4EE BE 15904000 mov esi,test.00409015 0040F4F3 8DBE EB7FFFFF lea edi ,dword ptr ds:[esi-0x8015] 0040F4F9 57 push edi 0040F4FA 83CD FF or ebp,-0x1 esi 0040F508 8807 mov byte ptr ds:[edi],al 0040F50A 47 inc edi 0040F50B

    23000编辑于 2024-12-31
  • 来自专栏全栈程序员必看

    UPX脱壳详细分析

    01014258 > /8A06 MOV AL,BYTE PTR DS:[ESI] ; // 0101425A . |46 INC ESI 0101425B . |8807 MOV BYTE PTR DS:[EDI],AL 0101425D . |47 INC EDI 0101425E ] ; / 0101431C . |47 INC EDI 0101431D . |2C E8 SUB AL,0E8 MOV EAX,DWORD PTR DS:[EDI] ; edi = upx import table?? ] 0101436B . 47 INC EDI 0101436C . 08C0 OR AL,AL 0101436E .^ 74 DC

    83830编辑于 2022-09-09
  • 来自专栏海纳周报

    JVM杂谈之JIT

    mov %rsp,%rbp 400531: 89 7d fc mov %edi,-0x4(%rbp) 400534: 8b 45 fc 第三句,把edi存到栈上。在x64处理器上,前6个参数都是使用寄存器传参的。第一个参数会使用rdi,第二个参数使用 rsi,等等。 所以 edi 里存的其实就是第一个参数,也就是整数 3,为什么使用rdi的低32位,也就是 edi 呢?因为我们的入参 a 是 int 型啊。大家可以换成 long 型看看效果。 // push rbp 0x48, 0x89, 0xe5, // mov rsp, rbp 0x89, 0xf8, // mov edi 进一步优化成这样: char code[] = { 0x89, 0xf8, // mov edi, eax 0x83, 0xc0, 0x01, //

    1.3K120发布于 2018-03-02
  • 来自专栏信安之路

    封包式游戏功能的原理与实现

    ebp, esi mov dword ptr [esp+0x18], ecx inc al cmp dword ptr [edi+0x100], -1 +ebx*4], ecx mov dword ptr [edi+eax*4], edx add edx, ecx inc al and edx mov dword ptr [edi+eax*4], edx add edx, ecx inc al and edx, 0x0FF ptr [edi+eax*4], edx add edx, ecx inc al and edx, 0x0FF ror ebp, 8 , ecx inc al and edx, 0x0FF mov edx, dword ptr [edi+edx*4] xor dl, byte

    4.4K30发布于 2020-04-22
  • Win32汇编:字符串操作指令

    移动串指令: MOVSB、MOVSW、MOVSD ;从 ESI -> EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 比较串指令: CMPSB、CMPSW、CMPSD ;比较 ESI、EDI ; 执行后, ESI 与 EDI 的地址移动相应的单位 扫描串指令: SCASB、SCASW、SCASD ;依据 AL/AX/EAX 中的数据扫描 EDI 指向的数据, 执行后 EDI 自动变化 储存串指令 : STOSB、STOSW、STOSD ;将 AL/AX/EAX 中的数据储存到 EDI 给出的地址, 执行后 EDI 自动变化 载入串指令: LODSB、LODSW、LODSD ;将 ESI 指向的数据载入到 ; 分别那[edi]的值和0作比较 je L2 ; 上一步为零则跳转得到ret inc edi ; 否则继续执行 inc 分别拿出每一个字节,与0比较 je L2 ; 如果相等则跳转到L2 and byte ptr [esi],11011111b ; 执行按位与操作 inc

    46630编辑于 2022-12-28
  • 来自专栏EDI电子数据交换知识分享

    沃尔玛Walmart EDI解决方案之812报文解读

    在与沃尔玛Walmart进行EDI对接的第一步,是根据自己的业务类型及所处国家选择所适用的EDI规范,完成EDI mapping(映射)。 关于812的一般性说明请参见文章EDI 812 贷项/借项调整 997确认回执 确认回执997必须在收到812后2-4小时内发出。 20050419*000000000877332*A*1590*C**000000000877332****00*CR CUR*BY*USD N9*IA*234567 PER*CR*WAL-MART STORES INC *TE*4792734089 N1*XI*WAL-MART STORES INC. 812报文的解读,更多沃尔玛Walmart EDI 报文可以参考: 沃尔玛Walmart EDI解决方案之810发票业务 沃尔玛Walmart EDI解决方案之850采购订单业务 注:文案部分图片及内容来源于网络

    1.1K20发布于 2021-04-20
  • 来自专栏FreeBuf

    Office”组合”式漏洞攻击样本分析

    会首先触发0158漏洞,拷贝0xF00字节栈溢出后,通过覆盖返回地址实现利用 eax=00121700 ebx=0b7a00e0 ecx=7c93003d edx=0ef10020 esi=08ece6bc edi DLLGetDocumentation+0xcf1 0:000> p eax=00000000 ebx=0b7a00e0 ecx=7c93003d edx=00140608 esi=08ece6bc edi ebx 0a0a09d1 43 inc ebx 0a0a09d2 43 inc ebx 0a0a09d3 43 inc ebx 0a0a09d4 43 inc ebx 0a0ffad4 31db xor ebx,ebx 0a0ffad6 cmp dword ptr [edi],0E3E3ACACh 4) 样本中对应的压缩流及TIF如下: ?

    1.3K90发布于 2018-02-02
  • 来自专栏EDI技术知识

    轮胎行业A公司如何与BRP建立 EDI 连接?

    BRP Inc.是一家加拿大的多元化制造商和世界领先的动力体育产品制造商,主要生产雪地摩托、全地形车、旋翼飞行器、公路车辆和船艇等各种动力体育产品,其知名品牌包括 Ski-Doo、Lynx、Sea-Doo 作为一个大型的制造商,BRP Inc.使用EDI(电子数据交换)来处理其与供应商、客户和合作伙伴之间的业务交流。 3.准备EDI规范 EDI规范是实施EDI项目的基础,本次BRP EDI项目中,EDI规范的版本号为:4010。企业可以在知行EDI 规范查询平台中,进一步的了解相应规范以及版本号下的字段信息。 通过EDI系统与BRP收发生产数据。 通过以上8个步骤,想必大家已经对EDI项目流程有所了解了。需要注意的一点是:企业的内部业务数据与EDI系统之间如何实现互通? 了解更多 EDI 信息,请参阅: EDI 是什么?

    72920编辑于 2023-03-22
  • 来自专栏Linux内核及编程语言底层相关技术研究

    c语言内嵌汇编代码之Clobbers的用途到底是什么

    : %d\n", inc1(1)); printf("inc2: %d\n", inc2(1)); printf("inc3: %d\n", inc3(1)); } 上面代码中三个inc方法的意图都是对 /a.out inc1: 2 inc2: 4 inc3: 2 inc2方法居然返回的不是2,而是4,奇怪吧。但为什么呢,让我们反编译看下。 f8 mov %edi,%eax 1192: 83 c0 01 add $0x1,%eax 1195: c3 f8 mov %edi,%eax 11a2: b8 03 00 00 00 mov $0x3,%eax 11a7: 83 : 41 89 f8 mov %edi,%r8d 11b3: b8 03 00 00 00 mov $0x3,%eax 11b8

    3.7K31发布于 2019-10-14
  • 来自专栏Eureka的技术时光轴

    用单步异常检测OllyDbg的巧妙方法

    include kernel32.inc include user32.inc includelib kernel32.lib includelib user32.lib MY_DLG equ :ptr CONTEXT mov esi,[pExcept] mov edi,[pContext] cmp [esi].ExceptionCode,STATUS_SINGLE_STEP jnz @continue ;检查是否为单步异常 inc [edi].regEax ;EAX = EAX + 1 mov ebx,[edi].regEip cmp byte ptr [ebx],90h ;检查下一个字节是否90(NOP) jz @finish ;如果遇到NOP则结束跟踪 or [edi].regFlag,100h ;否则继续对TF位置1 @finish: popad mov eax ;从这里开始“单步跟踪” inc eax inc eax dec eax ;对EAX进行一些操作,如果没有异常EAX=2 nop ;用NOP标志跟踪结束 mov [num],eax

    1.6K30发布于 2019-07-24
  • 来自专栏逆向技术

    strstr ShellCode实现

    ,0x45,0x08, 0x5f, 0x5b, 0x5d, 0xc3 }; 3.汇编代码如下 push ebp mov ebp, esp push ebx push edi mov edi, dword ptr ss:[ebp + 0xC] mov bl, byte ptr ds:[edi] test bl, bl je 0x7E004C edx + eax], cl je 0x7E0026 //重定位 mov al, byte ptr ds:[esi + 0x1] inc esi inc edx test al, al jne 0x7E0020 //重定位 pop esi pop edi xor eax, eax pop ebx pop ebp ret mov eax, esi pop esi pop edi pop

    66210发布于 2020-06-19
  • 来自专栏全栈程序员必看

    CoInitialize浅析一

    我们先来看看CoInitialize的汇编 769B2A24 mov edi, edi 769B2A26 push ebp 769AEF73 xor edi, edi 769AEF75 cmp [ebp+8], edi ; 推断第一个參数是否为 ebx ; unsigned __int32 769AEFA5 xor esi, esi 769AEFA7 inc 即为单线程套件 769AEFEF 769AEFEFloc_769AEFEF: 769AEFEF add eax, 18h 769AEFF2 inc CODE XREF:CoInitializeEx(x,x)+2C0B6j 769AF03C xor esi, esi 769AF03E inc

    92020编辑于 2022-09-07
领券